package com.yxw.imooc_createfragment02;

import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Window;

import com.yxw.fragment.ContentFragment;
import com.yxw.fragment.TitleFragment;

/**
 * 演示fragment的动态使用
 * <p>
 * 案例效果：
 * 在activity界面中有两个fragment 标题 、内容
 */
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);

        /*
        动态使用fragment主要涉及以下几步
        1、创建fragemnt的管理器对象
        2、获取fragment的事务对象并开启，事物具有一致性，比如我写了10行代码，执行到第九行出现错误，那么前八行的代码都执行了，并且实现效果，如果把这
        10行代码当道事务中，只要这10行代码任意一个位置出现错误，那么整个代码不能采用，不能实现最终的效果
        3、调用食物的动态方法，动态的添加、移除、替换fragment
        4、提交事务
         */
        FragmentManager manager = getSupportFragmentManager();
        FragmentTransaction transaction = manager.beginTransaction();
        //add(表示fragment动态添加位置的资源id，表示添加的fragment对象)
        transaction.add(R.id.title_layout, new TitleFragment());
        transaction.add(R.id.content_layout, new ContentFragment());
        //   transaction.remove(arg0);remove(需要移除的fragment对象)
        // transaction.replace(arg0,arg1);replace(标识替换fragment位置的资源id，表示替换fragment对象)\

        transaction.commit();

    }
}
